from django.db import models


class BaseModel(models.Model):
    """
    公共模型
    保存项目中的所有模型的公共属性和公共方法的声明
    """
    name = models.CharField(
        max_length=255,
        default="",
        verbose_name="名称/标题"
    )
    is_deleted = models.BooleanField(
        default=False,
        verbose_name="是否删除"
    )
    orders = models.IntegerField(
        default=0,
        verbose_name="序号"
    )
    is_show = models.BooleanField(
        default=0,
        verbose_name="是否显示"
    )
    created_time = models.DateTimeField(
        auto_now_add=True,  # auto_now_add = True 当数据被创建时，以当前时间作为默认值写入当前字段
        verbose_name="添加时间"
    )
    updated_time = models.DateTimeField(
        auto_now=True,  # auto_now = True  当数据被更新时，以当前时间作为值写入当前字段
        verbose_name="更新时间"
    )

    class Meta:
        abstract = True

    def __str__(self):
        if self.name:
            return self.name
        # else:
        #     return str(self)
